1. Field of the Invention
The present invention relates to programmable integrated circuits, and in particular, the present invention relates to techniques for remotely programming multiple programmable systems sequentially or simultaneously over wired or wireless links between a programming host device and the programmable systems.
2. Discussion of the Related Art
Programmable devices that are programmed and reprogrammed without being removed from its application environment are widely preferred. One example of such a device is the xe2x80x9cIn-System programmable logic devicexe2x80x9d or xe2x80x9cISP PLDxe2x80x9d, available from Lattice Semiconductor Corp. One method for reprogramming ISP PLDs is disclosed in U.S. Pat. No. 5,635,855, entitled xe2x80x9cMethod for Simultaneous Programming of In-System Programmable Integrated Circuitsxe2x80x9d, to Tang et al., filed on Jul. 21, 1995 and issued on Jun. 3, 1997.
In the prior art, a reprogrammable system is reprogrammed by a host programming device over a hard-wired connection. It is desirable to allow such a reprogrammable system to be reprogrammed over wired or wireless links established at the time of reprogramming, so as to allow reprogramming by a xe2x80x9cremotely locatedxe2x80x9d programmer, such as a portable programming device or a programming device physically located at any arbitrary location.
The present invention provides an in-system programmable (ISP) system which can be reprogrammed by remote access. Such a system allows the configurations of ISP devices to be updated in the field without requiring a hardwired connection to a tester or a programmer.
In one embodiment of the present invention, the ISP system includes an access interface for sending and receiving data over a communication link, so as to allow control and programming data used in ISP programming to be downloaded. Each ISP system includes one or more ISP controllers for programming multiple ISP devices according to the control and programming data received by the access interface. In this embodiment, each ISP device is programmed under the control of a programming clock signal and a mode signal. The ISP device receives control and programming data from a serial input signal and provides data output, including status and echoed control and programming data, through a serial data output signal.
The ISP system of the present invention can be coupled to a host programming system through a communication link that may include a wired or wireless data network, such as a telephone network, or a radio channel.
In one embodiment of the present invention, the ISP controller in an ISP system can receive data from the access interface either serially or in parallel. Further, a central processing unit can be provided to control the ISP system. The central processing unit can include a microprocessor, a random access memory for storing control and programming data received over the communication link and an address bus for specifying the memory locations or device accessed.
In one embodiment of the present invention, the ISP controller includes a microprocessor for controlling programming of the ISP devices under the ISP controller""s control. Each ISP controller can program multiple ISP devices simultaneously. Thus, if multiple ISP controllers are present in the same ISP system under the control of a central processing unit, a large number of ISP devices can be simultaneously programmed by remote access.
In one embodiment of the present invention, the ISP system is programmed by remote access by a host programming system which includes one or more programming host computers. Each host computer includes a central processing unit, which may be a personal computer or an engineering workstation, and an access interface for accessing the communication link. These host units can be coupled by a computer network, which may be a local area network or a wide area network.
The present invention is better understood upon consideration of the detailed description below and the accompanying drawings.